home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?>
-
- <!-- ***** BEGIN LICENSE BLOCK *****
- - Version: MPL 1.1
- -
- - The contents of this file are subject to the Mozilla Public License Version
- - 1.1 (the "License"); you may not use this file except in compliance with
- - the License. You may obtain a copy of the License at
- - http://www.mozilla.org/MPL/
- -
- - Software distributed under the License is distributed on an "AS IS" basis,
- - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- - for the specific language governing rights and limitations under the License.
- -
- - The Original Code is the Autocomplete Manager extension.
- -
- - The Initial Developer of the Original Code is
- - Nikitas Liogkas <nikitas@acm.org>.
- - Portions created by the Initial Developer are Copyright (C) 2005-2008
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- - Version 2.3
- -
- - ***** END LICENSE BLOCK ***** -->
-
- <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
- <?xml-stylesheet href="chrome://acmanager/skin/acmanager.css" type="text/css"?>
-
- <prefwindow xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- id="ACM_Options"
- title="Autocomplete Manager"
- resizable="yes"
- persist="width height screenX screenY"
- onload="opener.acm_dialogOpen = true; acm_recordPreferences(); acm_updateUIDependencies();"
- onunload="acm_enforcePreferences(); opener.acm_dialogOpen = false;">
-
- <prefpane id="acm_paneOptions" label="Options">
- <preferences>
- <preference id="extensions.acmanager.active_component"
- name="extensions.acmanager.active_component" type="string"/>
- <preference id="extensions.acmanager.enhanced.match_bookmarks"
- name="extensions.acmanager.enhanced.match_bookmarks" type="bool"/>
- <preference id="extensions.acmanager.enhanced.match_titles"
- name="extensions.acmanager.enhanced.match_titles" type="bool"/>
- <preference id="extensions.acmanager.enhanced.exclude_local"
- name="extensions.acmanager.enhanced.exclude_local" type="bool"/>
- <preference id="extensions.acmanager.enhanced.exclude_search"
- name="extensions.acmanager.enhanced.exclude_search" type="bool"/>
- <preference id="extensions.acmanager.enhanced.match_alladdress"
- name="extensions.acmanager.enhanced.match_alladdress" type="bool"/>
- <preference id="extensions.acmanager.enhanced.sortby"
- name="extensions.acmanager.enhanced.sortby" type="string"/>
- <preference id="extensions.acmanager.enhanced.show_titles"
- name="extensions.acmanager.enhanced.show_titles" type="bool"/>
- <preference id="extensions.acmanager.enhanced.show_date"
- name="extensions.acmanager.enhanced.show_date" type="bool"/>
- <preference id="extensions.acmanager.enhanced.inline"
- name="extensions.acmanager.enhanced.inline" type="bool"/>
- <preference id="extensions.acmanager.enhanced.swap_columns"
- name="extensions.acmanager.enhanced.swap_columns" type="bool"/>
- <preference id="extensions.acmanager.enhanced.bold_matching"
- name="extensions.acmanager.enhanced.bold_matching" type="bool"/>
- <preference id="extensions.acmanager.enhanced.show_onarrow"
- name="extensions.acmanager.enhanced.show_onarrow" type="bool"/>
- <preference id="extensions.acmanager.enhanced.maxrows"
- name="extensions.acmanager.enhanced.maxrows" type="int"/>
- <preference id="extensions.acmanager.enhanced.address_trunc"
- name="extensions.acmanager.enhanced.address_trunc" type="string"/>
- <preference id="extensions.acmanager.enhanced.title_trunc"
- name="extensions.acmanager.enhanced.title_trunc" type="string"/>
- <preference id="extensions.acmanager.enhanced.bookmarks_first"
- name="extensions.acmanager.enhanced.bookmarks_first" type="bool"/>
- <preference id="extensions.acmanager.default.show_titles"
- name="extensions.acmanager.default.show_titles" type="bool"/>
- <preference id="browser.urlbar.matchOnlyTyped" name="browser.urlbar.matchOnlyTyped"
- type="bool"/>
- <preference id="browser.urlbar.autoFill" name="browser.urlbar.autoFill" type="bool"/>
- <preference id="extensions.acmanager.default.maxrows"
- name="extensions.acmanager.default.maxrows" type="int"/>
- </preferences>
-
- <!-- these have to be here, not before prefpane (bug 296418) -->
- <script type="application/javascript; version=1.7" src="chrome://acmanager/content/rdfUtils.js"/>
- <script type="application/javascript" src="chrome://acmanager/content/treeUtils.js"/>
- <script type="application/javascript" src="chrome://acmanager/content/options.js"/>
- <script type="application/javascript" src="chrome://acmanager/content/aggregator.js"/>
- <script type="application/javascript" src="chrome://acmanager/content/acpopup.js"/>
-
- <description class="header">
- Customize the functionality and appearance of the address Autocomplete component.
- </description>
- <separator class="groove-thin"/>
- <separator class="thin"/>
-
- <tabbox id="acm_tabbox">
- <tabs>
- <tab label="Active Component"/>
- <tab label="Enhanced Component Options"/>
- <tab label="Default Component Options"/>
- </tabs>
-
- <tabpanels flex="1">
- <tabpanel flex="1" orient="vertical">
- <description>Select Autocomplete component to use</description>
- <!-- the values to return from onsyncfrompreference are correlated with the 'value' attribute
- of the radios; onsynctopreference/onsyncfrompreference will also be called when clicking
- on a radio -->
- <radiogroup id="extensions.acmanager.active_component"
- preference="extensions.acmanager.active_component"
- onsyncfrompreference="
- if (acm_active_component)
- return;
- var active_component = acm_getPreference(ACM_ACTIVE_COMPONENT);
- if (active_component === 'default')
- return 'default';
- else if (active_component === 'off')
- return 'off';
- else
- return 'enhanced';"
- onsynctopreference="
- acm_updateUIDependencies();
- var radios = document.getElementById(ACM_ACTIVE_COMPONENT).childNodes;
- if (radios[1].selected)
- return 'default';
- else if (radios[2].selected)
- return 'off';
- else
- return 'enhanced';">
-
- <radio id="acm_enhanced_radio" label="Enhanced" value="enhanced"/>
- <radio id="acm_default_radio" label="Default" value="default"/>
- <radio label="Off" value="off"/>
- </radiogroup>
- </tabpanel>
-
- <tabpanel flex="1" orient="vertical">
- <groupbox>
- <caption label="Entry Selection"/>
- <grid flex="1">
- <columns>
- <column/>
- <column/>
- </columns>
- <rows>
- <row>
- <checkbox id="extensions.acmanager.enhanced.match_bookmarks"
- preference="extensions.acmanager.enhanced.match_bookmarks"
- label="Include bookmarks"
- onsynctopreference="acm_setBookmarksPosition();"/>
- </row>
- <row>
- <checkbox id="extensions.acmanager.enhanced.match_titles"
- preference="extensions.acmanager.enhanced.match_titles"
- label="Match page titles (bookmark names)"/>
- <checkbox id="extensions.acmanager.enhanced.match_alladdress"
- preference="extensions.acmanager.enhanced.match_alladdress"
- label="Match anywhere in the address"/>
- </row>
- <row>
- <checkbox id="extensions.acmanager.enhanced.exclude_local"
- preference="extensions.acmanager.enhanced.exclude_local"
- label="Exclude local pages"/>
- <checkbox id="extensions.acmanager.enhanced.exclude_search"
- preference="extensions.acmanager.enhanced.exclude_search"
- label="Attempt to exclude search result pages"/>
- </row>
- </rows>
- </grid>
- </groupbox>
-
- <groupbox>
- <caption label="Sorting Criterion (Ctrl+# to sort on the fly)"/>
- <!-- the childNodes of a radiogroup are always its radio buttons, even if nested! -->
- <radiogroup id="extensions.acmanager.enhanced.sortby"
- preference="extensions.acmanager.enhanced.sortby"
- onsyncfrompreference="
- if (acm_active_component)
- return;
- var sortby = acm_getPreference(ACM_SORTBY);
- if (sortby === 'top')
- return 'top';
- if (sortby === 'mfu')
- return 'mfu';
- if (sortby === 'mru')
- return 'mru';
- if (sortby === 'alpha_address')
- return 'alpha_address';
- if (sortby === 'alpha_title')
- return 'alpha_title';
- else
- return 'default';"
- onsynctopreference="
- var radios = document.getElementById(ACM_SORTBY).childNodes;
- if (radios[1].selected)
- return 'top';
- else if (radios[2].selected)
- return 'mfu';
- else if (radios[3].selected)
- return 'mru';
- else if (radios[4].selected)
- return 'alpha_address';
- else if (radios[5].selected)
- return 'alpha_title';
- else
- return 'default';">
-
- <!-- if you change the number of choices here, also change acm_urlbarNavigation() -->
- <grid flex="1">
- <columns>
- <column/>
- <column/>
- </columns>
- <rows>
- <row>
- <radio label="1. Firefox 2 default" value="default"/>
- <radio label="2. Top-level pages first" value="top"/>
- </row>
- <row>
- <radio label="3. Most frequently visited first" value="mfu"/>
- <radio label="4. Most recently visited first" value="mru"/>
- </row>
- <row>
- <radio label="5. Alphabetically by address" value="alpha_address"/>
- <radio label="6. Alphabetically by title" value="alpha_title"/>
- </row>
- <groupbox>
- <caption label="Bookmarks Position"/>
- <!-- NOTE: childNodes doesn't work for this!? -->
- <radiogroup id="extensions.acmanager.enhanced.bookmarks_first"
- preference="extensions.acmanager.enhanced.bookmarks_first"
- onsyncfrompreference="
- if (acm_active_component)
- return;
- if (acm_getPreference(ACM_BOOKMARKS_FIRST))
- return 'first';
- else
- return 'default';"
- onsynctopreference="
- var firstRadio = document.getElementById('acm_bookmarks_first_radio');
- return firstRadio.selected;">
-
- <radio label="According to sorting criterion" value="default"/>
- <radio id="acm_bookmarks_first_radio" label="Always place bookmarks first"
- value="first"/>
- </radiogroup>
- </groupbox>
- </rows>
- </grid>
- </radiogroup>
- </groupbox>
-
- <groupbox>
- <caption label="Suggestion Popup"/>
- <grid flex="1">
- <columns>
- <column/>
- <column/>
- </columns>
- <rows>
- <row>
- <checkbox id="extensions.acmanager.enhanced.show_titles"
- preference="extensions.acmanager.enhanced.show_titles"
- label="Show page titles (bookmark names)"
- onsynctopreference="acm_setSwapColumns();"/>
- <checkbox id="extensions.acmanager.enhanced.show_date"
- preference="extensions.acmanager.enhanced.show_date"
- label="Show last visit date"/>
-
- </row>
- <row>
- <checkbox id="extensions.acmanager.enhanced.swap_columns"
- preference="extensions.acmanager.enhanced.swap_columns"
- label="Swap address and title columns"/>
- <checkbox id="extensions.acmanager.enhanced.bold_matching"
- preference="extensions.acmanager.enhanced.bold_matching"
- label="Bold matching column"/>
- </row>
- <row>
- <checkbox id="extensions.acmanager.enhanced.inline"
- preference="extensions.acmanager.enhanced.inline"
- label="Fill best match inline"/>
- <checkbox id="extensions.acmanager.enhanced.show_onarrow"
- preference="extensions.acmanager.enhanced.show_onarrow"
- label="Only show popup on down arrow"/>
- </row>
- <row>
- <grid flex="1">
- <columns>
- <column/>
- <column flex="1"/>
- </columns>
- <rows>
- <row>
- <hbox align="center">
- <label value="Number of visible suggestions"/>
- <textbox id="extensions.acmanager.enhanced.maxrows" maxlength="2"
- preference="extensions.acmanager.enhanced.maxrows" maxwidth="100"
- onblur="acm_validateMaxrowsValues();"/>
- </hbox>
- </row>
- </rows>
- </grid>
- </row>
- <row>
- <groupbox>
- <caption label="Address Truncation"/>
- <radiogroup id="extensions.acmanager.enhanced.address_trunc"
- preference="extensions.acmanager.enhanced.address_trunc"
- onsyncfrompreference="
- if (acm_active_component)
- return;
- var address_truncation = acm_getPreference(ACM_ADDRESS_TRUNC);
- if (address_truncation === 'start')
- return 'start';
- else if (address_truncation === 'center')
- return 'center';
- else
- return 'end';"
- onsynctopreference="
- var radios = document.getElementById(ACM_ADDRESS_TRUNC).childNodes;
- if (radios[0].selected)
- return 'start';
- else if (radios[1].selected)
- return 'center';
- else
- return 'end';">
- <hbox>
- <radio label="Left" value="start"/>
- <radio label="Center" value="center"/>
- <radio label="Right" value="end"/>
- </hbox>
- </radiogroup>
- </groupbox>
- <groupbox>
- <caption label="Title Truncation"/>
- <radiogroup id="extensions.acmanager.enhanced.title_trunc"
- preference="extensions.acmanager.enhanced.title_trunc"
- onsyncfrompreference="
- if (acm_active_component)
- return;
- var title_truncation = acm_getPreference(ACM_TITLE_TRUNC);
- if (title_truncation === 'start')
- return 'start';
- else if (title_truncation === 'center')
- return 'center';
- else
- return 'end';"
- onsynctopreference="
- var radios = document.getElementById(ACM_TITLE_TRUNC).childNodes;
- if (radios[0].selected)
- return 'start';
- else if (radios[1].selected)
- return 'center';
- else
- return 'end';">
- <hbox>
- <radio label="Left" value="start"/>
- <radio label="Center" value="center"/>
- <radio label="Right" value="end"/>
- </hbox>
- </radiogroup>
- </groupbox>
- </row>
- </rows>
- </grid>
-
- </groupbox>
- </tabpanel>
-
- <tabpanel flex="1" orient="vertical">
- <checkbox id="extensions.acmanager.default.show_titles" label="Show page titles"
- preference="extensions.acmanager.default.show_titles"/>
- <checkbox label="Only match manually-typed entries"
- preference="browser.urlbar.matchOnlyTyped"/>
- <checkbox label="Fill best match inline"
- preference="browser.urlbar.autoFill"/>
- <grid flex="1">
- <columns>
- <column/>
- <column flex="1"/>
- </columns>
- <rows>
- <row>
- <hbox align="center">
- <label value="Number of visible suggestions"/>
- <textbox id="extensions.acmanager.default.maxrows" maxlength="2"
- preference="extensions.acmanager.default.maxrows" maxwidth="100"
- onblur="acm_validateMaxrowsValues();"/>
- </hbox>
- </row>
- </rows>
- </grid>
- </tabpanel>
-
- </tabpanels>
- </tabbox>
- </prefpane>
-
- <prefpane id="acm_paneManager" label="History Manager">
- <description class="header">Add and remove history entries.</description>
- <separator class="groove-thin"/>
- <separator class="thin"/>
-
- <tree id="acm_historyTree" flex="1" height="300" enableColumnDrag="true" hidecolumnpicker="true"
- onkeypress="acm_handleKey(event);" onselect="acm_historyEntrySelected();">
- <treecols>
- <!-- TOFIX: can also persist sortDirection -->
- <treecol id="colURL" label="Page address" flex="2" class="sortDirectionIndicator"
- onclick="acm_sortHistoryColumn('URL');" persist="width ordinal"/>
- <splitter class="tree-splitter"/>
- <treecol id="coltitle" label="Title" flex="1" class="sortDirectionIndicator"
- onclick="acm_sortHistoryColumn('title');" persist="width ordinal"/>
- </treecols>
- <treechildren/>
- </tree>
-
- <groupbox>
- <caption label="Information about the selected entry"/>
- <grid flex="1">
- <columns>
- <column/>
- <column flex="1"/>
- </columns>
-
- <!-- If you change the ids of these textboxes, also change the history entry
- textbox ids at the top of options.js -->
- <rows>
- <row align="center">
- <hbox align="center" pack="end"><label value="Title:"/></hbox>
- <textbox id="he_title" readonly="true" class="plain"/>
- </row>
- <row align="center">
- <hbox align="center" pack="end"><label value="Page Address:"/></hbox>
- <textbox id="he_address" readonly="true" class="plain"/>
- </row>
- <row align="center">
- <hbox align="center" pack="end"><label value="First Visit Date:"/></hbox>
- <textbox id="he_first_visit" readonly="true" class="plain"/>
- </row>
- <row align="center">
- <hbox align="center" pack="end"><label value="Last Visit Date:"/></hbox>
- <textbox id="he_last_visit" readonly="true" class="plain"/>
- </row>
- <row align="center">
- <hbox align="center" pack="end"><label value="Number of Visits:"/></hbox>
- <textbox id="he_visit_count" readonly="true" class="plain"/>
- </row>
- </rows>
- </grid>
- </groupbox>
-
- <!-- If you change the ids of the remove buttons, also change those
- in the corresponding command functions in options.js -->
- <hbox>
- <button id="populateHistEntries" label="Retrieve history entries"
- oncommand="acm_populateHistoryEntries();"/>
- <button id="addHistoryEntry" label="Add" disabled="true"
- oncommand="window.openDialog('chrome://acmanager/content/addEntry.xul', '',
- 'chrome, modal, resizable');"/>
- <!-- <button id="editHistoryEntry" label="Edit" disabled="true"
- oncommand="window.openDialog('chrome://acmanager/content/editDialog.xul', '',
- 'chrome, modal, resizable');"/> -->
- <button id="removeHistoryEntry" label="Remove" disabled="true" oncommand="acm_removeHistoryEntry();"/>
- <button id="removeAllHistoryEntries" label="Remove All" disabled="true"
- oncommand=" acm_removeAllHistEntries();"/>
- </hbox>
- </prefpane>
-
- <prefpane id="acm_paneAbout" label="About">
- <!-- descriptions have to be broken in parts to avoid oversizing the options dialog -->
- <description class="header">
- Autocomplete Manager extension for Mozilla Firefox - version 2.3
- </description>
- <separator class="groove-thin"/>
- <description>
- This extension provides advanced features for the address Autocomplete component in Firefox,
- </description>
- <description>
- and includes fixes for Autocomplete-related bugs, as well as a rudimentary history manager.
- </description>
- <description>
- For a list of the available features and to download the latest version, please visit
- <label value="the official extension page" class="text-link"
- href="http://www.cs.ucla.edu/~nikitas/acmanager/"/>.
- </description>
- <description class="header">
- Shortcuts
- </description>
- <description>
- Alt+L: focus on the location bar, temporarily disabling the popup
- </description>
- <description>
- Middle-click on a popup entry to open it in a new tab
- </description>
- <description>
- Ctrl+1 through Ctrl+6: when the popup is open, sort the suggestion list according to
- the respective criterion
- </description>
- <hbox pack="left">
- <image src="chrome://acmanager/skin/acmanager-logo.jpg" width="425" height="283"/>
- </hbox>
- <description>
- The Autocomplete Manager is brought to you by Nikitas Liogkas (nikitas@acm.org), and it is
- </description>
- <description>
- distributed under the Mozilla Public License, version 1.1. Please see
- <label value="the MPL official page" class="text-link" href="http://www.mozilla.org/MPL/"/>
- for more details.
- </description>
- </prefpane>
-
- </prefwindow>
-
-
-